The present invention relates generally to systems and methods for processing data. More specifically, the present invention relates to systems and methods for processing bitstreams to avoid or substantially reduce the injection of processing jitter.
There are presently a variety of different communication channels for transmitting or transporting video, audio and other data. The channel is used to transport a bitstream, or a continuous sequence of binary bits used to digitally represent video, audio and/or data.
Since transmission of data with existing communication channels often requires excessive bandwidth, compression is an approach that has been used to make digital data more transportable. Digital video compression formats allow digitized video frames to be represented digitally in a much more efficient manner. Compression of digital video makes it practical to transmit the signal using digital channels at a fraction of the bandwidth required to transmit the original signal without compression. There is an abundant number of proprietary and public video data compression formats currently in use. Popular proprietary video compression formats include the Microsoft streaming format, QuickTime, RealNetworks, etc. Public video data compression formats include numerous international standards built upon video data compression schemes such as MPEG-1, MPEG-2, MPEG-4, H.261, H.262, H.263, H.263+, wavelet, fractal, etc.
Commonly, transmission of video data is intended for real-time playback. In order for a receiver of a transmission (e.g. a digital television) to properly decode and display the compressed data in real-time, packets included in the transmission must arrive in order and in a timely manner. Unfortunately, this is not always the case. As the packets of a bitstream traverse channels between transmitter and receiver, the spacing between packets may be altered. Undesirable variation of delays between the spacing of packets is often referred to as jitter. One precise definition of jitter is provided by the International Telecommunication Union (ITU), namely:
Jitter: Short-term variations of the significant instants of a digital signal from their ideal positions in time.
When a real-time application, such as digital television, receives packets of information, the packets are displayed as they are received. However, if a new packet arrives while previous packets are still being displayed, it is necessary to buffer the new packet. Buffering requires the use of a high-speed storage device, which adds to the cost of the display device. Conversely, if a packet arrives too late, there is an interruption in the display of the transmission, which results in quality loss of the displayed video data.
To add further complexity, a transmission may contain multiple bitstreams, each containing its own video program or content. In the case of a digital video broadcast (DVB), the content of a single bitstream may be a program such as a television show, a movie or a commercial. The combining of multiple audio, video, or data bitstreams into a single bitstream is known as multiplexing. By its very nature, multiplexing introduces jitter. By placing packets from one bitstream between packets from another, time delay variations and thus the possibility of jitter, are introduced.
Jitter may also be introduced in non-multiplexed environments and other processing operations if data and packets are not managed properly. Based on the foregoing, improved methods and systems for processing and transmitting data would be desirable.